import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';

import { BaseSharedModule } from '@base/shared.module';
import { BaseHighlightModule } from '@base/components';

import { DocsWorkingWithBaseServerComponent } from 'app/main/documentation/working-with-base/server/server.component';
import { DocsWorkingWithBaseProductionComponent } from 'app/main/documentation/working-with-base/production/production.component';
import { DocsWorkingWithBaseDirectoryStructureComponent } from 'app/main/documentation/working-with-base/directory-structure/directory-structure.component';
import { DocsWorkingWithBaseUpdatingBaseComponent } from 'app/main/documentation/working-with-base/updating-base/updating-base.component';
import { DocsWorkingWithBaseMultiLanguageComponent } from 'app/main/documentation/working-with-base/multi-language/multi-language.component';
import { DocsWorkingWithBaseMaterialThemingComponent } from 'app/main/documentation/working-with-base/material-theming/material-theming.component';
import { DocsWorkingWithBaseThemeLayoutsComponent } from 'app/main/documentation/working-with-base/theme-layouts/theme-layouts.component';
import { DocsWorkingWithBasePageLayoutsComponent } from 'app/main/documentation/working-with-base/page-layouts/page-layouts.component';

const routes = [
    {
        path     : 'server',
        component: DocsWorkingWithBaseServerComponent
    },
    {
        path     : 'production',
        component: DocsWorkingWithBaseProductionComponent
    },
    {
        path     : 'directory-structure',
        component: DocsWorkingWithBaseDirectoryStructureComponent
    },
    {
        path     : 'updating-base',
        component: DocsWorkingWithBaseUpdatingBaseComponent
    },
    {
        path     : 'multi-language',
        component: DocsWorkingWithBaseMultiLanguageComponent
    },
    {
        path     : 'material-theming',
        component: DocsWorkingWithBaseMaterialThemingComponent
    },
    {
        path     : 'theme-layouts',
        component: DocsWorkingWithBaseThemeLayoutsComponent
    },
    {
        path     : 'page-layouts',
        component: DocsWorkingWithBasePageLayoutsComponent
    }
];

@NgModule({
    declarations: [
        DocsWorkingWithBaseServerComponent,
        DocsWorkingWithBaseProductionComponent,
        DocsWorkingWithBaseDirectoryStructureComponent,
        DocsWorkingWithBaseUpdatingBaseComponent,
        DocsWorkingWithBaseMaterialThemingComponent,
        DocsWorkingWithBaseMultiLanguageComponent,
        DocsWorkingWithBaseThemeLayoutsComponent,
        DocsWorkingWithBasePageLayoutsComponent
    ],
    imports     : [
        RouterModule.forChild(routes),

        MatButtonModule,
        MatIconModule,

        BaseSharedModule,
        BaseHighlightModule
    ]
})
export class WorkingWithBaseModule
{
}
